package com.tsd.jxc.stock.dao;

import com.tsd.common.vo.BatchDeleteLogicVo;
import com.tsd.core.vo.PageBean;
import com.tsd.jxc.stock.entity.JxcStockInbill;
import com.tsd.jxc.stock.entity.JxcStockInbillExt;
import org.apache.ibatis.annotations.Param;

import java.util.List;
import java.util.Map;

/**
 * 描述：JxcStockInbillMapper
 *
 * @author Hillpool
 * @date 2022/07/29 15:06:41
 */
public interface JxcStockInbillMapper {

    JxcStockInbill selectByPrimaryKey(Long id);

    JxcStockInbillExt selectBySid(String sid);

    int deleteByPrimaryKey(Long id);

    int insert(JxcStockInbill record);

    int insertSelective(JxcStockInbill record);

    int insertList(@Param("list") List<JxcStockInbillExt> list);

    int updateByPrimaryKey(JxcStockInbill record);

    int updateByPrimaryKeySelective(JxcStockInbill record);

    int updateList(@Param("list") List<JxcStockInbillExt> list);

    List<JxcStockInbillExt> selectByEntity(JxcStockInbillExt record);

    List<JxcStockInbillExt> selectByPage(@Param("params") Map<String, Object> params, @Param("page") PageBean page);

    List<JxcStockInbillExt> selectCount1Page(@Param("params") Map<String, Object> params, @Param("page") PageBean page);

    List<JxcStockInbillExt> selectByParams(@Param("params") Map<String, Object> params);

    JxcStockInbillExt selectDuplicatedCode(JxcStockInbillExt record);

    int deleteLogicBySidList(BatchDeleteLogicVo logicVo);

    int updateInQty(@Param("bill_sid") String bill_sid);

    List<JxcStockInbillExt> selectStockInbillsIncludeDetailByPage(Map<String, Object> params, PageBean page);

    int countValid(@Param("yyyy") Integer yyyy, @Param("mm") Integer mm);

    List<JxcStockInbillExt> selectBySrcSid(@Param("list") List<String> list, @Param("dr") int dr);

}
